////////////////////////////////////////////////////////////////////////////////
//  Name: Phoenix Game Library
//  Copyright: GPL
//  Author: Jon Parrott
//  Date: 16/05/06 21:10
//  Description: Phoenix game library: started as
//               a wrapper for SDL and OpenGL aimed
//               at the fast creation of 2D games.
//               It now includes many features needed
//               For game development and is packaged
//               As a staticly linked library.
////////////////////////////////////////////////////////////////////////////////

#ifndef PHOENIXINC
#define PHOENIXINC

////////////////////////////////////////////////////////////////////////////////
//Headers that we need
////////////////////////////////////////////////////////////////////////////////


//standard templates that we need.
#include <string>
#include <vector>

////////////////////////////////////////////////////////////////////////////////
//Before we include the files, make some functions that will be used multiple times
////////////////////////////////////////////////////////////////////////////////

#include "PhFunctions.h"

////////////////////////////////////////////////////////////////////////////////
//Class for vector math
////////////////////////////////////////////////////////////////////////////////

#include "PhVector2d.h"
#include "PhRotationMatrix.h"

////////////////////////////////////////////////////////////////////////////////
//Class for vector representation of polygons and collision detection
////////////////////////////////////////////////////////////////////////////////

#include "PhPolygonCollision.h"

////////////////////////////////////////////////////////////////////////////////
//First we need to include the event handler.
////////////////////////////////////////////////////////////////////////////////

#include "PhEventHandle.h"

////////////////////////////////////////////////////////////////////////////////
//Color Class
////////////////////////////////////////////////////////////////////////////////

#include "PhColor.h"

////////////////////////////////////////////////////////////////////////////////
//Rectangle Class
////////////////////////////////////////////////////////////////////////////////

#include "PhRect.h"

////////////////////////////////////////////////////////////////////////////////
//Timer Class
////////////////////////////////////////////////////////////////////////////////

#include "PhTimer.h"

////////////////////////////////////////////////////////////////////////////////
//Texture Class
////////////////////////////////////////////////////////////////////////////////

#include "PhTexture.h"

////////////////////////////////////////////////////////////////////////////////
//Sprite Animation Class
////////////////////////////////////////////////////////////////////////////////

#include "PhSpriteAnimation.h"

////////////////////////////////////////////////////////////////////////////////
// Render Target
////////////////////////////////////////////////////////////////////////////////

#include "PhRenderTexture.h"

////////////////////////////////////////////////////////////////////////////////
//Render System
////////////////////////////////////////////////////////////////////////////////

#include "PhRenderSystem.h"

////////////////////////////////////////////////////////////////////////////////
// View class
////////////////////////////////////////////////////////////////////////////////

#include "PhView.h"

////////////////////////////////////////////////////////////////////////////////
//Now load the scenemanager class
////////////////////////////////////////////////////////////////////////////////

#include "PhSceneManager.h"

////////////////////////////////////////////////////////////////////////////////
//Log class
////////////////////////////////////////////////////////////////////////////////

#include "PhLog.h"

////////////////////////////////////////////////////////////////////////////////
//Key enumerations
////////////////////////////////////////////////////////////////////////////////

#include "PhKeys.h"

////////////////////////////////////////////////////////////////////////////////
//Now load the library of nodes
////////////////////////////////////////////////////////////////////////////////

#include "PhDrawNode.h"             //Draws a texture on the screen
#include "PhBackground.h"  //Background node
#include "PhSolidBackground.h"  //Background node
#include "PhExtendedBackground.h" //background node
#include "PhTileMap.h"             //tilemap
#include "PhParticleSystem.h"      //particle system
#include "PhVertexLightSystem.h"      //vertex light system.
#include "PhLightManager.h"          //Pixel light system.

#endif
